package users

import (
	"errors"
	"orm_gin/model"
	"orm_gin/orm"
	"orm_gin/utools/res"

	"github.com/gin-gonic/gin"
)

// @BasePath /user

// @Summary 修改用户信息
// @Description token
// @Tags 用户表
// @Param Account query string true "Account"
// @Success 200 {object} docsmodel.Response
// @Router /user/info [put]
// @Security
func UpdateUser(c *gin.Context) {
	id, _ := c.Get("UserId")
	var userInfo model.UserInfo
	err := c.ShouldBind(&userInfo)

	if err != nil {
		res.Error(c, 0, err, "params 解析错误")
		return
	}
	// 修改插入
	r := orm.DB.Model(&model.UserInfo{}).Where("id=?", id).Updates(userInfo)
	if r.Error != nil {
		res.Error(c, 0, r.Error, "插入数据失败")
		return
	}

	res.Ok(c, userInfo, "操作成功")
}

// 修改密码
func UpdatePassword(c *gin.Context) {
	id, _ := c.Get("UserId")
	var pwd struct {
		Password   string `json:"password"`
		RePassword string `json:"rePassword"`
	}

	err := c.ShouldBind(&pwd)
	if err != nil {
		res.Error(c, 0, err, "密码解析失败")
		return
	}

	if pwd.Password != pwd.RePassword {
		res.Error(c, 0, errors.New("输入密码不一致"), "输入密码不一致")
		return
	}

	r := orm.DB.Model(&model.UserInfo{}).Where("id=?", id).Update("password", pwd.Password)
	if r.Error != nil {
		res.Error(c, 0, r.Error, "插入数据有误")
		return
	}

	res.Ok(c, nil, "操作成功")
}
